High voltages are commonly used in certain integrated circuit applications, such as non-volatile memory. Typically, lower voltages that are more readily available are boosted to produce the higher voltage levels used by such applications. In the specific case of non-volatile memory, the high voltages are used to program or erase memory cells. For example, a high positive voltage can be used to program a non-volatile memory cell, while a high negative voltage can be used to erase a memory cell.
A charge pump is one type of circuit that can be used to generate these high positive and negative voltages. Although many types of charge pumps exist, most charge pumps generally operate in similar fashion. A typical charge pump receives an input from a voltage source, then boosts the input voltage to produce a higher output voltage.
The boosted output voltage of a charge pump is not perfectly stable, but may be characterized by variation in the voltage level called a ripple voltage. Excessive ripple in the output voltage can cause problems in applications for which the output voltage is used. For example, a non-volatile memory may specify a minimum voltage level to reliably program a cell. If excess ripple causes the voltage level to drop below this minimum voltage level, the reliability of a programming operation using the output voltage can be degraded.
In addition, ripple in the output voltage can also inject noise to the rest of the circuit. The output voltage may ripple at a particular frequency, thus generating noise at that frequency. In some cases, the ripple frequency is not constant, such that noise resulting from the ripple voltage is more difficult to filter.